package com.codeduck.mybatis.mapper;

import cn.hutool.core.lang.Dict;
import com.codeduck.mybatis.entity.DictQuery;
import com.codeduck.mybatis.entity.DictDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author: <a href="mailto:codeduck@163.com">Codeduck</a>
 * @createDate: 2022-08-13
 */
@Mapper
public interface DictMapper {

    /**
     * 新增字典
     *
     * @param dictDO
     * @return int
     */
    int saveDict(DictDO dictDO);

    /**
     * 删除
     *
     * @param dictId
     * @return int
     */
    int deleteByDictId(int dictId);

    /**
     * 更新
     *
     * @param dictDO
     * @return int
     */
    int updateDict(DictDO dictDO);

    /**
     * 多条件 查询
     *
     * @param query
     * @return java.util.List<com.codeduck.mybatis.entity.DiningDictDO>
     */
    List<DictDO> queryDictList(DictQuery query);

    /**
     * 根据id查询对象
     *
     * @param id
     * @return com.codeduck.mybatis.entity.DictDO
     */
    DictDO getByDictId(int id);

    /**
     * 计数
     *
     * @param
     * @return int
     */
    int countDictAmount();

    /**
     * 批量新增
     *
     * @param dictDOList
     * @return int
     */
    int batchSave(@Param("dictDOList") List<DictDO> dictDOList);

    int batchUpdate(@Param("dictDOList") List<DictDO> dictDOList);

}
